//
//  cpu.h
//  OpenVM
//
//  Created by wwhai on 2020/11/25.
//

#ifndef cpu_h
#define cpu_h
//
enum INS_TABLE
{
    NOP = 0X00,
    START = 0X01,
    STOP = 0X02,
    RSTR = 0X03,
    TIMER = 0X04,
    GOTO = 0X05,
    CALL = 0X06,
    BACK = 0X07,
    JMP = 0X08,
    JZ = 0X09,
    JE = 0X0A,
    JX = 0X0B,
    CMRAE = 0X0C,
    CMRAG = 0X0D,
    CMRAL = 0X0E,
    CMRRE = 0X0F,
    CMRRG = 0X10,
    CMRRL = 0X11,
    CMASE = 0X12,
    CMASG = 0X13,
    CMASL = 0X14,
    CMRSE = 0X15,
    CMRSG = 0X16,
    CMRSL = 0X17,
    INCA = 0X18,
    DECA = 0X19,
    INCR = 0X1A,
    DECR = 0X1B,
    ADDAR = 0X1C,
    SUBAR = 0X1D,
    INCS = 0X1E,
    DECS = 0X1F,
    ADDAS = 0X20,
    SUBAS = 0X21,
    ANDR = 0X22,
    AOR = 0X23,
    AXR = 0X24,
    BSLR = 0X25,
    BSRR = 0X26,
    BSLLR = 0X27,
    BSRLR = 0X28,
    ANDS = 0X29,
    AOS = 0X2A,
    AXS = 0X2B,
    BSLS = 0X2C,
    BSRS = 0X2D,
    BSLLS = 0X2E,
    BSRLS = 0X2F,
    IMA = 0X30,
    IMR = 0X31,
    IMS = 0X32,
    GET = 0X33,
    MVRR = 0X34,
    MVRS = 0X35,
    MVSR = 0X36,
    MVAR = 0X37,
    INTK = 0X38,
    KEY = 0X39,
    PLY = 0X3A,
    PLYS = 0X3B,
    GSET = 0X3C,
    CLS = 0X3D,
    DPXY = 0X3E,
    DXY = 0X3F,
    DCXY = 0X40,
    DLINE = 0X41,
    DRECT = 0X42,
    SCRU = 0X43,
    SCRD = 0X44,
    SCRL = 0X45,
    SCRR = 0X46,
    SET = 0X47,
};
#endif
